home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 1833 / 1833.xpi / chrome / yoono.jar / content / yoono / aboutYoonoHelp.xul < prev    next >
Extensible Markup Language  |  2009-12-16  |  5KB  |  157 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
  3.  <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  4.         onload = "init();"
  5.  >
  6.  
  7. <script>
  8.  
  9. <![CDATA[
  10. const CI = Components.interfaces;
  11. const CL = Components.classes;
  12.  
  13. Components.utils.import("resource://yoono/yoonoService.js");
  14. Components.utils.import("resource://yoono/yoonoDialogs.js");
  15. Components.utils.import("resource://yoono/yoonoPrefs.js");
  16. Components.utils.import("resource://yoono/yoonoLog.js");
  17.  
  18. var logPath;
  19.  
  20. function init() {
  21.   updateDisplay();
  22. }
  23.  
  24. function updateDisplay() {
  25.   var textNode;
  26.   var debugEnabledMessage = "Disabled";
  27.   if(YOONO_PREFS.get("debug.write")) {
  28.      debugEnabledMessage = "Enabled";
  29.   }
  30.   var labelDebug = document.getElementById('debugWrite');
  31.   if(labelDebug.firstChild != null){
  32.     labelDebug.firstChild.data = debugEnabledMessage;
  33.   } else {
  34.     textNode =  document.createTextNode(debugEnabledMessage);
  35.     labelDebug.appendChild(textNode);
  36.   }
  37.   labelDebug.setAttribute('style', '-moz-user-select:text;-moz-user-focus:normal');
  38.   
  39.   var debugLevelMessage = YOONO_PREFS.get("debug.level");
  40.   var labelDebugLevel = document.getElementById('debugLevel');
  41.   if(labelDebugLevel.firstChild != null){
  42.     labelDebugLevel.firstChild.data = debugLevelMessage;
  43.   } else {
  44.     textNode =  document.createTextNode(debugLevelMessage);
  45.     labelDebugLevel.appendChild(textNode);
  46.   }
  47.   labelDebugLevel.setAttribute('style', '-moz-user-select:text;-moz-user-focus:normal');
  48. }
  49.  
  50. function startHelpProcess() {
  51.   YOONO_PREFS.set("debug.level", 5, YOONO_PREFS.getPrefType("debug.level"));
  52.   YOONO_PREFS.set("debug.write", true, YOONO_PREFS.getPrefType("debug.write"));
  53.   YOONO_PREFS.set("debug.net", true, YOONO_PREFS.getPrefType("debug.net"));
  54.   YOONO_PREFS.set("debug.db", true, YOONO_PREFS.getPrefType("debug.db"));
  55.   document.getElementById('startButton').setAttribute('hidden', 'true');
  56.   document.getElementById('finishButton').setAttribute('hidden', 'false');
  57.   updateDisplay();
  58. }
  59.  
  60. function finishHelpProcess() {
  61.   YOONO_PREFS.set("debug.level", 2, YOONO_PREFS.getPrefType("debug.level"));
  62.   YOONO_PREFS.set("debug.write", false, YOONO_PREFS.getPrefType("debug.write"));
  63.   YOONO_PREFS.set("debug.net", false, YOONO_PREFS.getPrefType("debug.net"));
  64.   YOONO_PREFS.set("debug.db", false, YOONO_PREFS.getPrefType("debug.db"));
  65.   //document.getElementById('startButton').setAttribute('hidden', 'false');
  66.   document.getElementById('finishButton').setAttribute('hidden', 'true');
  67.   document.getElementById('contactForm').setAttribute('hidden', 'false');
  68.   var logText = readLogFile();
  69.   var logTextBox = document.getElementById('logFile');
  70.   //var textNode =  document.createTextNode(logText);
  71.   logTextBox.value = logText;
  72.   updateDisplay();
  73. }
  74.  
  75. function submitInfo() {
  76.   document.getElementById('contactForm').setAttribute('hidden', 'true');
  77.   document.getElementById('startButton').setAttribute('hidden', 'false');
  78.   
  79. }
  80.  
  81. function readLogFile() {
  82.   try{
  83.       var istream = CL["@mozilla.org/network/file-input-stream;1"].createInstance(CI.nsIFileInputStream);
  84.     var file = Components.classes["@mozilla.org/file/directory_service;1"]
  85.                        .getService(Components.interfaces.nsIProperties)
  86.                        .get('ProfDS', Components.interfaces.nsIFile);
  87.     var log = file.clone();
  88.     log.append('yoono');
  89.     log.append('yoono.log');
  90.     istream.init(log, 0x01, 0444, 0);
  91.       var converter = CL["@mozilla.org/intl/converter-input-stream;1"].createInstance( CI.nsIConverterInputStream);
  92.       converter.init(istream, 'UTF-8', 1024, '-');
  93.       var line = {};
  94.       var content="";
  95.       while(converter.readString(4096, line)) {
  96.           content+=line.value+"\n";
  97.       }
  98.       istream.close();
  99.     }catch(e){};
  100.     return content;
  101. }
  102.  
  103. ]]>
  104. </script>
  105.  
  106. <spacer height="20px"/>
  107. <hbox>
  108.   <label value="Debug writing is:"/>
  109.   <label id="debugWrite" />
  110. </hbox>
  111. <spacer height="20px"/>
  112. <hbox>
  113.   <label value="Debuging level is:"/>
  114.   <label id="debugLevel" />
  115. </hbox>
  116.  
  117. <vbox id="startButton" align="center">
  118.   <spacer height="20px"/>
  119.   <hbox align="center">
  120.     <button label="Start Help Process" oncommand="startHelpProcess()"/>
  121.   </hbox>
  122. </vbox>
  123. <vbox id="finishButton" hidden="true" align="center">
  124.   <spacer height="20px"/>
  125.   <label value="Please wait for the error to occur, then press the button below to finish the help process"/>
  126.   <hbox align="center">
  127.     <button label="Finish Help Process" oncommand="finishHelpProcess()"/>
  128.   </hbox>
  129. </vbox>
  130. <vbox id="contactForm" hidden="true" align="center" flex="1" style="overflow: auto">
  131.   <spacer height="20px"/>
  132.   <hbox align="center" pack="end" width="600px">
  133.     <label value="Name:"/>
  134.     <textbox width="400px"/>
  135.   </hbox>
  136.   <spacer height="20px"/>
  137.   <hbox align="center" pack="end" width="600px">
  138.     <label value="Email:"/>
  139.     <textbox width="400px"/>
  140.   </hbox>
  141.   <spacer height="20px"/>
  142.   <hbox align="center" pack="end" width="600px">
  143.     <label value="Description:"/>
  144.     <textbox width="400px" multiline="true" height="150px"/>
  145.   </hbox>
  146.   <spacer height="20px"/>
  147.   <hbox align="center" pack="end" width="600px">
  148.     <label value="Log file:"/>
  149.     <textbox id="logFile" height="400px" width="400px" multiline="true"/>
  150.   </hbox>
  151.   <hbox align="center" pack="end" width="600px">
  152.     <button label="Submit" onclick="submitInfo()"/>
  153.   </hbox>
  154. </vbox>
  155. </window>
  156.  
  157.